#pragma once
#include "System.h"
#include "Activity.h"

class Stat : public Node {
public:
	enum VAL_TYPE {
		VAL_INT,
		VAL_DOUBLE,
		VAL_STRING,
		VAL_NONE
	};
	Stat();
	virtual ~Stat();
	void createStat(VAL_TYPE valType);

	bool getValue(int &val);
	bool getValue(double &val);
	bool getValue(string &val);

	bool setValue(int val);
	bool setValue(double val);
	bool setValue(string val);

private:
	VAL_TYPE valType_;
	int valInt_;
	double valReal_;
	string valStr_;
};

class Tag : public Stat {
public:
	Tag();
	virtual ~Tag();
private:
	vector<Activity::ACTIVITY_SCOPE> scope_;
	Activity* action_;
};

